﻿
$(document).ready(function () {
    tipoDocumentoLista();
    modoPagoLista();
    almacenLista();
});


function fnLimpiarCamposCliente() {
    document.getElementById("txtRazSocialCliente").value = "";
}

$("#txtRazSocialCliente").autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "wsPedido.asmx/spClienteXRazonSocial",
            data: "{ 'prmRazSocial': '" + request.term + "' }",
            dataType: "json",
            type: "POST",
            contentType: "application/json; charset=utf-8",           
            success: function (data) {              
                var lstCliente = data.d;               
                response($.map(lstCliente, function (cliente) {
                    return {
                        value: cliente.cli_razonSocial,
                        cli_nic: cliente.cli_nic
                    }
                    
                }))
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(textStatus);
            }
        });
    },
    select: function (e, i) {
        spAlmacenClienteXNic(i.item.cli_nic);
        $("#txtNic").val(i.item.cli_nic);
    },
    minLength: 2
});

$("#txtNic").keyup(function () {
    if (isNaN($('#txtNic').val().substring($('#txtNic').val().length - 1, $('#txtNic').val().length))) {
        document.getElementById("txtNic").value = $('#txtNic').val().substring(0, $('#txtNic').val().length-1);       
    }else if ($('#txtNic').val().length == 8 || $('#txtNic').val().length == 11) {
        
        var nic = $("#txtNic").val();
        spAlmacenClienteXNic(nic);
    } else if ($('#txtNic').val().length > 11) {        
        var nic = $("#txtNic").val();
        var nic=nic.substring(0, 11);
        document.getElementById("txtNic").value = nic;
    }
});

    function spAlmacenClienteXNic(prmNic) {
        var etiqueta = $("#selClienteSucursales");
        $.ajax({
            type: "POST",
            url: "wsPedido.asmx/spAlmacenClienteXNic",
            data: "{ 'prmNic': '" + prmNic + "' }",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {
                etiqueta.find('option').remove();
                fnLimpiarCamposCliente();
                var lstAlmCliente = response.d;
                document.getElementById("txtRazSocialCliente").value = lstAlmCliente[0].cliente.cli_razonSocial;
                for (var i = 0; i < lstAlmCliente.length; ++i) {
                    etiqueta.append('<option value="' + lstAlmCliente[i].almCli_id + '">' + lstAlmCliente[i].almCli_direccion + '</option>');
                }
            },
            failure: function (msg) {
                alert(msg);
            }
        });
    }

function tipoDocumentoLista() {
    var etiqueta = $("#tipDocumento");
    $.ajax({
        type: "POST",
        url: "wsPedido.asmx/tipoDocumentoLista",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var lst = response.d;
            $.each(lst, function (index, enTipoDocumento) {
                etiqueta.append('<option value="' + enTipoDocumento.tipDoc_id + '">' + enTipoDocumento.tipDoc_nombre + '</option>');
            });
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}

function modoPagoLista() {
    var etiqueta = $("#modoPago");
    $.ajax({
        type: "POST",
        url: "wsPedido.asmx/modoPagoLista",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var lst = response.d;
            $.each(lst, function (index, enModoPago) {
                etiqueta.append('<option value="' + enModoPago.modPag_id + '">' + enModoPago.modPag_nombre + '</option>');
            });
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}

function almacenLista() {
    var etiqueta = $("#almacen");
    $.ajax({
        type: "POST",
        url: "wsPedido.asmx/almacenLista",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var lst = response.d;
            $.each(lst, function (index, enAlmacen) {
                etiqueta.append('<option value="' + enAlmacen.alm_id + '">' + enAlmacen.alm_nombre + ' - ' + enAlmacen.alm_direccion + ' - ' + enAlmacen.alm_ciudad + '</option>');
            });
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}
var varProducto = new Array();
function spProductoBuscarXPresentacion(prmPresentacion) {
    $("#tbBodyBuscaProducto").find('tr').remove();
    var etiqueta = $("#tbBodyBuscaProducto");
    $.ajax({
        type: "POST",
        url: "wsPedido.asmx/spProductoBuscarXPresentacion",
        data: "{ 'prmPresentacion': '" + prmPresentacion + "' }",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var lst = response.d;
            var i = 1;
           
            $.each(lst, function (index, enProducto) {
                 varProducto = [enProducto.pro_id, enProducto.unidadMedida.uniMed_descripcion, enProducto.pro_presentacion, enProducto.precio.pre_preVenta];
                etiqueta.append('<tr>'
                    + '<td>' + enProducto.pro_id + '</td>'
                    + '<td>' + enProducto.unidadMedida.uniMed_descripcion + '</td>'
                    + '<td>' + enProducto.pro_presentacion + '</td>'
                    + '<td>' + enProducto.linea.lin_descripcion + '</td>'
                    + '<td>' + 123 + '</td>'
                    + '<td>' + enProducto.almacen.alm_nombre + '</td>'
                    + '<td> S/.' + enProducto.precio.pre_preVenta + '</td>'
                    + '<td> <a href="#" onclick="guardarDetalle()">Agregar</a></td>'
                    + '</tr>');
                i++;
            });
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}

$("#txtBuscarProducto").keyup(function () {
    var cadena = $("#txtBuscarProducto").val();
    if (cadena.length > 3) {
        spProductoBuscarXPresentacion($("#txtBuscarProducto").val());
    } else {
        $("#tbBodyBuscaProducto").find('tr').remove();
    }
});

function guardarDetalle() {
    $("#tbBodyDetalle").find('tr').remove();
    var etiqueta = $("#tbBodyDetalle");
    $.ajax({
        type: "POST",
        url: "wsPedido.asmx/spDetallePedido",
        data: "{ 'id': '" + varProducto[0] 
            + "','uniMed': '" + varProducto[1]
            + "','presentacion': '" + varProducto[2]
            + "','pre': '" + varProducto[3]
            + "','cantidad': '" + 2 + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            var lst = response.d;
            var i = 1;

                      $.each(lst, function (index, enProducto) {
                var total = enProducto.precio.pre_preVenta * enProducto.cantidad;
                
                etiqueta.append('<tr>'
                    + '<td>' + enProducto.pro_id + '</td>'
                    + '<td>' + enProducto.unidadMedida.uniMed_descripcion + '</td>'
                    + '<td>' + enProducto.pro_presentacion + '</td>'
                    + '<td>' + enProducto.linea.lin_descripcion + '</td>'
                    + '<td> S/.' + enProducto.precio.pre_preVenta + '</td>'
                     + '<td>' + enProducto.cantidad + '</td>'
                    + '<td> S/.' + total + '</td>'
                    
                    + '<td> <a href="#" onclick="alert()">Quitar</a></td>'
                    + '</tr>');
                i++;
            });
        },
        failure: function (msg) {
            alert(msg);
        }
    });
}